#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
#include <pthread.h>

//time
#define ONVIF_TIME_OUT 60000      //60s
//port
#define ONVIF_UDP_PORT 3702
#define ONVIF_TCP_PORT 5000
//ip
#define ONVIF_UDP_IP "239.255.255.250"
#define ONVIF_TCP_IP "192.168.110.172"
//frame size
#define ONVIF_FRAME_WIDTH 1280
#define ONVIF_FRAME_HEIGHT 720
#define ONVIF_DEF_FPS      30

#define NET_DEV_NAME "eth0"

// printf("\033[0;31mprogram termination abnormally!\033[0;39m\n");
// 设置文本颜色为红色
// printf("\033[31mHello World!\n");

// // 设置文本颜色为绿色
// printf("\033[32mHello World!\n");

// // 设置文本颜色为黄色
// printf("\033[33mHello World!\n");

// // 重置文本属性
// printf("\033[0m");


#define dbg(fmt, ...) do {printf("\033[0m[DEBUG %s:%d:%s]" fmt, __FILE__, __LINE__, __FUNCTION__, ##__VA_ARGS__);} while(0)
#define info(fmt, ...) do {printf("\033[0;32m[INFO  %s:%d:%s]\033[0m" fmt, __FILE__, __LINE__, __FUNCTION__, ##__VA_ARGS__);} while(0)
#define warn(fmt, ...) do {printf("\033[0;33m[WARN  %s:%d:%s]\033[0m" fmt, __FILE__, __LINE__, __FUNCTION__, ##__VA_ARGS__);} while(0)
#define err(fmt, ...) do {printf("\033[0;31m[ERROR %s:%d:%s]" fmt, __FILE__, __LINE__, __FUNCTION__, ##__VA_ARGS__); printf("\033[0m");} while(0)
#define pinfo(fmt, ...) do {printf("\033[0;32m" fmt, ##__VA_ARGS__);printf("\033[0m");} while(0)